#ifndef LAGRANGE_H
#define LAGRANGE_H
#include <chebychev.h>
#include <mycanvas.h>

class Lagrange
{
    public:
        Lagrange(int error, double desde_x, double hasta_x, double desde_y, double hasta_y);
        void pintarFuncion(MyCanvas* canvas, QString funcion);
        double calcular(QString nombreFuncion, double num);
        ~Lagrange();
        double calcularTrigonometrica(QString nombreFuncionTrigonometrica, double angulo);

    private:
        Chebychev *_chebychev;
        double evaluar(double x, double* ys);
        double cambiarSistemaCoordenadas(double coordenada, double cotainferiorvieja, double cotasuperiorvieja, double cotainferiornueva, double cotasuperiornueva);
        int x_canvas(double x_funcion, QSize* size);
        int y_canvas(double y_funcion, QSize* size);
        double x_funcion(int x_canvas, QSize* size);
        double y_funcion(int y_canvas, QSize* size);
        double x_cotainferior;
        double x_cotasuperior;
        double y_cotainferior;
        double y_cotasuperior;
        int error;

};

#endif // LAGRANGE_H
